package org.springframework.howelly.services;

import java.text.ParseException;
import java.util.List;

import org.springframework.howelly.helpers.SearchCriteria;
import org.springframework.howelly.model.Gasto;
import org.springframework.howelly.model.User;
import org.springframework.webflow.execution.RequestContext;

public interface GastoService {

    public boolean deleteGasto(Gasto gasto);

    public List<Gasto> filtrarGastos(Gasto gasto, long obraId, RequestContext context) throws ParseException;

    public List<Gasto> findGastos(String username, long obraId, RequestContext context);

    public Gasto createGasto(Long obraId, String username);

    public Gasto createIngreso(Long obraId, String username);

    public Gasto calculateTotalsAndSave(Gasto gasto, long obraId, RequestContext context);

    public List<String> getNameOptions(String query);

    // Should be move to UserService
    public User findUser(String username);

    public List<Gasto> findGastosByFactura(SearchCriteria criteria);

    public String getCuitByName(String name);
}
